home *** CD-ROM | disk | FTP | other *** search
- Path: azure.dstc.edu.au!crawley
- From: crawley@dstc.edu.au (Stephen Crawley)
- Newsgroups: comp.lang.ada,comp.lang.c,comp.lang.c++,comp.edu
- Subject: Re: C/C++ knocks the crap out of Ada
- Date: 11 Mar 1996 13:26:40 GMT
- Organization: CRC for Distributed Systems Technology
- Message-ID: <4i19mg$vkt@azure.dstc.edu.au>
- References: <JSA.96Feb16135027@organon.com> <4hbj2b$cnt@sun152.spd.dsccc.com> <adaworksDnrqsE.LpC@netcom.com> <4hhred$1rn@sun152.spd.dsccc.com>
- Reply-To: crawley@dstc.edu.au
- NNTP-Posting-Host: fatcat.dstc.edu.au
-
- In article <4hhred$1rn@sun152.spd.dsccc.com>,
- Kevin Cline <kcline@sun152.spd.dsccc.com> wrote:
- >
- >Well, I will now enumerate the difficulties I had porting an Ada program
- >with a Motif user interface from the TeleSoft compiler for Sparc-SunOS to
- >the Verdix compiler for MIPS/IRIX circa 1990:
- >
- >1. The TeleSoft compiler came with the IEEE Ada-POSIX bindings.
- > The Verdix compiler did not; instead it supported a Verdix-defined
- > API for UNIX services that was radically different.
-
- This is not a problem that can be blamed on the Ada language but on
- a) late development of standardised Ada bindings and
- b) unwillingness by Verdix to implement the standard when it
- arrived, maybe as an indirect consequence of a)
-
- >2. The syntax (pragmas) required to call C code from the two compilers
- > differed.
-
- Fixed in Ada 95
-
- >3. Although both compilers were 'validated', they both failed to compile
- > certain LRM-comformant code, and generated erroneous object code in
- > some other cases. I concluded that the Ada validation suite
- > was rather incomplete, and actually proved very little about compiler
- > quality.
-
- It is unreasonable to expect any validation suite to find all cases
- where a compiler diverges from the standard. Arguably the ACVC tests
- should be / have been more extensive though.
-
- Bugs in compilers are primarily the compiler vendors fault. With the
- arrival GNAT, the commercial vendors have some real competition in
- terms of compiler quality. If they don't come up to scratch, they
- are liable to lose market share.
-
- >4. The debuggers were extremely poor and buggy when compared to dbx.
- > In particular, the user interface to the Verdix debugger was one
- > of the most bizarre I have ever seen.
-
- Fixed by GNAT, or more precisely by the Ada cognisant version of gdb.
- [And as above, this should have the effect of indirectly improving
- the quality of substandard commercial debuggers.]
-
- >6. Because Ada-83 did not allow passing procedures as parameters to
- > other procedures, there was no reasonable way to create an
- > API to an event-driven GUI library like MOTIF.
-
- Fixed in Ada 95.
-
- >5. The compilers had two completely different API's for calling
- > X and MOTIF services.
-
- There are emerging public domain X and MOTIF bindings for Ada that
- (assuming they are available with GNAT sometime soon) are IMO likely
- to become defacto standards.
-
- >The lack of industry standard Ada bindings to these common OS
- >services combined with the high expense and poor quality of the
- >available Ada-83 compilers made development a medium-scale portable
- >UNIX application in Ada much more expensive and difficult than
- >developing the same application in C.
-
- Yes. But given recent (though belated) standardisation activities and
- the increasing influence of the GNU / FSF movement in the Ada
- community, one would hope that this should be less of a problem in the
- future.
-
- >Perhaps the emergence of GNAT has changed all this, but it is going
- >to be hard for Ada to keep up.
-
- Debatable.
-
- >To use Ada in my work today, I would
- >require an API to CORBA,
-
- Available now or soon from at least two commercial ORB vendors; i.e. look at
- the following
-
- http://alsp.arpa.mil/corba-ada/ada-products.html
-
- Note that the CORBA standard language bindings for Ada are expected to be
- formally approved at the OMG board meeting that happens on March 20th (for
- memory)
-
- >Tcl/Tk,
-
- Check out the following:
-
- http://www.cs.colorado.edu/~arcadia/Software/adatcl.html
-
- >and the Solaris real-time facilities
- >(itimers, etc.) and a runtime that efficiently mapped Ada tasks to
- >Solaris threads.
-
- I'm not sure, but the GNAT "features" file suggests that both may
- be available in GNAT 3.00 (and later versions) for Solaris. (Though
- I guess it depends what you mean by efficient ...)
-
- It is amazing what you can find with a Web search engine and some
- carefully chosen queries :-)
-
- -- Steve
-
-
-